// Code generated by ent, DO NOT EDIT.

package weather

import (
	"server/components/models/ent/predicate"
	"time"

	"entgo.io/ent/dialect/sql"
	"entgo.io/ent/dialect/sql/sqlgraph"
)

// ID filters vertices based on their ID field.
func ID(id int64) predicate.Weather {
	return predicate.Weather(sql.FieldEQ(FieldID, id))
}

// IDEQ applies the EQ predicate on the ID field.
func IDEQ(id int64) predicate.Weather {
	return predicate.Weather(sql.FieldEQ(FieldID, id))
}

// IDNEQ applies the NEQ predicate on the ID field.
func IDNEQ(id int64) predicate.Weather {
	return predicate.Weather(sql.FieldNEQ(FieldID, id))
}

// IDIn applies the In predicate on the ID field.
func IDIn(ids ...int64) predicate.Weather {
	return predicate.Weather(sql.FieldIn(FieldID, ids...))
}

// IDNotIn applies the NotIn predicate on the ID field.
func IDNotIn(ids ...int64) predicate.Weather {
	return predicate.Weather(sql.FieldNotIn(FieldID, ids...))
}

// IDGT applies the GT predicate on the ID field.
func IDGT(id int64) predicate.Weather {
	return predicate.Weather(sql.FieldGT(FieldID, id))
}

// IDGTE applies the GTE predicate on the ID field.
func IDGTE(id int64) predicate.Weather {
	return predicate.Weather(sql.FieldGTE(FieldID, id))
}

// IDLT applies the LT predicate on the ID field.
func IDLT(id int64) predicate.Weather {
	return predicate.Weather(sql.FieldLT(FieldID, id))
}

// IDLTE applies the LTE predicate on the ID field.
func IDLTE(id int64) predicate.Weather {
	return predicate.Weather(sql.FieldLTE(FieldID, id))
}

// Temperature applies equality check predicate on the "temperature" field. It's identical to TemperatureEQ.
func Temperature(v float64) predicate.Weather {
	return predicate.Weather(sql.FieldEQ(FieldTemperature, v))
}

// Humidity applies equality check predicate on the "humidity" field. It's identical to HumidityEQ.
func Humidity(v float64) predicate.Weather {
	return predicate.Weather(sql.FieldEQ(FieldHumidity, v))
}

// WindSpeed applies equality check predicate on the "windSpeed" field. It's identical to WindSpeedEQ.
func WindSpeed(v float64) predicate.Weather {
	return predicate.Weather(sql.FieldEQ(FieldWindSpeed, v))
}

// PrecipitationAmount applies equality check predicate on the "precipitationAmount" field. It's identical to PrecipitationAmountEQ.
func PrecipitationAmount(v float64) predicate.Weather {
	return predicate.Weather(sql.FieldEQ(FieldPrecipitationAmount, v))
}

// MeasurementDateTime applies equality check predicate on the "measurementDateTime" field. It's identical to MeasurementDateTimeEQ.
func MeasurementDateTime(v time.Time) predicate.Weather {
	return predicate.Weather(sql.FieldEQ(FieldMeasurementDateTime, v))
}

// TemperatureEQ applies the EQ predicate on the "temperature" field.
func TemperatureEQ(v float64) predicate.Weather {
	return predicate.Weather(sql.FieldEQ(FieldTemperature, v))
}

// TemperatureNEQ applies the NEQ predicate on the "temperature" field.
func TemperatureNEQ(v float64) predicate.Weather {
	return predicate.Weather(sql.FieldNEQ(FieldTemperature, v))
}

// TemperatureIn applies the In predicate on the "temperature" field.
func TemperatureIn(vs ...float64) predicate.Weather {
	return predicate.Weather(sql.FieldIn(FieldTemperature, vs...))
}

// TemperatureNotIn applies the NotIn predicate on the "temperature" field.
func TemperatureNotIn(vs ...float64) predicate.Weather {
	return predicate.Weather(sql.FieldNotIn(FieldTemperature, vs...))
}

// TemperatureGT applies the GT predicate on the "temperature" field.
func TemperatureGT(v float64) predicate.Weather {
	return predicate.Weather(sql.FieldGT(FieldTemperature, v))
}

// TemperatureGTE applies the GTE predicate on the "temperature" field.
func TemperatureGTE(v float64) predicate.Weather {
	return predicate.Weather(sql.FieldGTE(FieldTemperature, v))
}

// TemperatureLT applies the LT predicate on the "temperature" field.
func TemperatureLT(v float64) predicate.Weather {
	return predicate.Weather(sql.FieldLT(FieldTemperature, v))
}

// TemperatureLTE applies the LTE predicate on the "temperature" field.
func TemperatureLTE(v float64) predicate.Weather {
	return predicate.Weather(sql.FieldLTE(FieldTemperature, v))
}

// HumidityEQ applies the EQ predicate on the "humidity" field.
func HumidityEQ(v float64) predicate.Weather {
	return predicate.Weather(sql.FieldEQ(FieldHumidity, v))
}

// HumidityNEQ applies the NEQ predicate on the "humidity" field.
func HumidityNEQ(v float64) predicate.Weather {
	return predicate.Weather(sql.FieldNEQ(FieldHumidity, v))
}

// HumidityIn applies the In predicate on the "humidity" field.
func HumidityIn(vs ...float64) predicate.Weather {
	return predicate.Weather(sql.FieldIn(FieldHumidity, vs...))
}

// HumidityNotIn applies the NotIn predicate on the "humidity" field.
func HumidityNotIn(vs ...float64) predicate.Weather {
	return predicate.Weather(sql.FieldNotIn(FieldHumidity, vs...))
}

// HumidityGT applies the GT predicate on the "humidity" field.
func HumidityGT(v float64) predicate.Weather {
	return predicate.Weather(sql.FieldGT(FieldHumidity, v))
}

// HumidityGTE applies the GTE predicate on the "humidity" field.
func HumidityGTE(v float64) predicate.Weather {
	return predicate.Weather(sql.FieldGTE(FieldHumidity, v))
}

// HumidityLT applies the LT predicate on the "humidity" field.
func HumidityLT(v float64) predicate.Weather {
	return predicate.Weather(sql.FieldLT(FieldHumidity, v))
}

// HumidityLTE applies the LTE predicate on the "humidity" field.
func HumidityLTE(v float64) predicate.Weather {
	return predicate.Weather(sql.FieldLTE(FieldHumidity, v))
}

// WindSpeedEQ applies the EQ predicate on the "windSpeed" field.
func WindSpeedEQ(v float64) predicate.Weather {
	return predicate.Weather(sql.FieldEQ(FieldWindSpeed, v))
}

// WindSpeedNEQ applies the NEQ predicate on the "windSpeed" field.
func WindSpeedNEQ(v float64) predicate.Weather {
	return predicate.Weather(sql.FieldNEQ(FieldWindSpeed, v))
}

// WindSpeedIn applies the In predicate on the "windSpeed" field.
func WindSpeedIn(vs ...float64) predicate.Weather {
	return predicate.Weather(sql.FieldIn(FieldWindSpeed, vs...))
}

// WindSpeedNotIn applies the NotIn predicate on the "windSpeed" field.
func WindSpeedNotIn(vs ...float64) predicate.Weather {
	return predicate.Weather(sql.FieldNotIn(FieldWindSpeed, vs...))
}

// WindSpeedGT applies the GT predicate on the "windSpeed" field.
func WindSpeedGT(v float64) predicate.Weather {
	return predicate.Weather(sql.FieldGT(FieldWindSpeed, v))
}

// WindSpeedGTE applies the GTE predicate on the "windSpeed" field.
func WindSpeedGTE(v float64) predicate.Weather {
	return predicate.Weather(sql.FieldGTE(FieldWindSpeed, v))
}

// WindSpeedLT applies the LT predicate on the "windSpeed" field.
func WindSpeedLT(v float64) predicate.Weather {
	return predicate.Weather(sql.FieldLT(FieldWindSpeed, v))
}

// WindSpeedLTE applies the LTE predicate on the "windSpeed" field.
func WindSpeedLTE(v float64) predicate.Weather {
	return predicate.Weather(sql.FieldLTE(FieldWindSpeed, v))
}

// WeatherConditionEQ applies the EQ predicate on the "weatherCondition" field.
func WeatherConditionEQ(v WeatherCondition) predicate.Weather {
	return predicate.Weather(sql.FieldEQ(FieldWeatherCondition, v))
}

// WeatherConditionNEQ applies the NEQ predicate on the "weatherCondition" field.
func WeatherConditionNEQ(v WeatherCondition) predicate.Weather {
	return predicate.Weather(sql.FieldNEQ(FieldWeatherCondition, v))
}

// WeatherConditionIn applies the In predicate on the "weatherCondition" field.
func WeatherConditionIn(vs ...WeatherCondition) predicate.Weather {
	return predicate.Weather(sql.FieldIn(FieldWeatherCondition, vs...))
}

// WeatherConditionNotIn applies the NotIn predicate on the "weatherCondition" field.
func WeatherConditionNotIn(vs ...WeatherCondition) predicate.Weather {
	return predicate.Weather(sql.FieldNotIn(FieldWeatherCondition, vs...))
}

// PrecipitationAmountEQ applies the EQ predicate on the "precipitationAmount" field.
func PrecipitationAmountEQ(v float64) predicate.Weather {
	return predicate.Weather(sql.FieldEQ(FieldPrecipitationAmount, v))
}

// PrecipitationAmountNEQ applies the NEQ predicate on the "precipitationAmount" field.
func PrecipitationAmountNEQ(v float64) predicate.Weather {
	return predicate.Weather(sql.FieldNEQ(FieldPrecipitationAmount, v))
}

// PrecipitationAmountIn applies the In predicate on the "precipitationAmount" field.
func PrecipitationAmountIn(vs ...float64) predicate.Weather {
	return predicate.Weather(sql.FieldIn(FieldPrecipitationAmount, vs...))
}

// PrecipitationAmountNotIn applies the NotIn predicate on the "precipitationAmount" field.
func PrecipitationAmountNotIn(vs ...float64) predicate.Weather {
	return predicate.Weather(sql.FieldNotIn(FieldPrecipitationAmount, vs...))
}

// PrecipitationAmountGT applies the GT predicate on the "precipitationAmount" field.
func PrecipitationAmountGT(v float64) predicate.Weather {
	return predicate.Weather(sql.FieldGT(FieldPrecipitationAmount, v))
}

// PrecipitationAmountGTE applies the GTE predicate on the "precipitationAmount" field.
func PrecipitationAmountGTE(v float64) predicate.Weather {
	return predicate.Weather(sql.FieldGTE(FieldPrecipitationAmount, v))
}

// PrecipitationAmountLT applies the LT predicate on the "precipitationAmount" field.
func PrecipitationAmountLT(v float64) predicate.Weather {
	return predicate.Weather(sql.FieldLT(FieldPrecipitationAmount, v))
}

// PrecipitationAmountLTE applies the LTE predicate on the "precipitationAmount" field.
func PrecipitationAmountLTE(v float64) predicate.Weather {
	return predicate.Weather(sql.FieldLTE(FieldPrecipitationAmount, v))
}

// MeasurementDateTimeEQ applies the EQ predicate on the "measurementDateTime" field.
func MeasurementDateTimeEQ(v time.Time) predicate.Weather {
	return predicate.Weather(sql.FieldEQ(FieldMeasurementDateTime, v))
}

// MeasurementDateTimeNEQ applies the NEQ predicate on the "measurementDateTime" field.
func MeasurementDateTimeNEQ(v time.Time) predicate.Weather {
	return predicate.Weather(sql.FieldNEQ(FieldMeasurementDateTime, v))
}

// MeasurementDateTimeIn applies the In predicate on the "measurementDateTime" field.
func MeasurementDateTimeIn(vs ...time.Time) predicate.Weather {
	return predicate.Weather(sql.FieldIn(FieldMeasurementDateTime, vs...))
}

// MeasurementDateTimeNotIn applies the NotIn predicate on the "measurementDateTime" field.
func MeasurementDateTimeNotIn(vs ...time.Time) predicate.Weather {
	return predicate.Weather(sql.FieldNotIn(FieldMeasurementDateTime, vs...))
}

// MeasurementDateTimeGT applies the GT predicate on the "measurementDateTime" field.
func MeasurementDateTimeGT(v time.Time) predicate.Weather {
	return predicate.Weather(sql.FieldGT(FieldMeasurementDateTime, v))
}

// MeasurementDateTimeGTE applies the GTE predicate on the "measurementDateTime" field.
func MeasurementDateTimeGTE(v time.Time) predicate.Weather {
	return predicate.Weather(sql.FieldGTE(FieldMeasurementDateTime, v))
}

// MeasurementDateTimeLT applies the LT predicate on the "measurementDateTime" field.
func MeasurementDateTimeLT(v time.Time) predicate.Weather {
	return predicate.Weather(sql.FieldLT(FieldMeasurementDateTime, v))
}

// MeasurementDateTimeLTE applies the LTE predicate on the "measurementDateTime" field.
func MeasurementDateTimeLTE(v time.Time) predicate.Weather {
	return predicate.Weather(sql.FieldLTE(FieldMeasurementDateTime, v))
}

// HasRegion applies the HasEdge predicate on the "region" edge.
func HasRegion() predicate.Weather {
	return predicate.Weather(func(s *sql.Selector) {
		step := sqlgraph.NewStep(
			sqlgraph.From(Table, FieldID),
			sqlgraph.Edge(sqlgraph.M2O, false, RegionTable, RegionColumn),
		)
		sqlgraph.HasNeighbors(s, step)
	})
}

// HasRegionWith applies the HasEdge predicate on the "region" edge with a given conditions (other predicates).
func HasRegionWith(preds ...predicate.Region) predicate.Weather {
	return predicate.Weather(func(s *sql.Selector) {
		step := newRegionStep()
		sqlgraph.HasNeighborsWith(s, step, func(s *sql.Selector) {
			for _, p := range preds {
				p(s)
			}
		})
	})
}

// HasForecast applies the HasEdge predicate on the "forecast" edge.
func HasForecast() predicate.Weather {
	return predicate.Weather(func(s *sql.Selector) {
		step := sqlgraph.NewStep(
			sqlgraph.From(Table, FieldID),
			sqlgraph.Edge(sqlgraph.O2M, false, ForecastTable, ForecastColumn),
		)
		sqlgraph.HasNeighbors(s, step)
	})
}

// HasForecastWith applies the HasEdge predicate on the "forecast" edge with a given conditions (other predicates).
func HasForecastWith(preds ...predicate.Forecast) predicate.Weather {
	return predicate.Weather(func(s *sql.Selector) {
		step := newForecastStep()
		sqlgraph.HasNeighborsWith(s, step, func(s *sql.Selector) {
			for _, p := range preds {
				p(s)
			}
		})
	})
}

// And groups predicates with the AND operator between them.
func And(predicates ...predicate.Weather) predicate.Weather {
	return predicate.Weather(sql.AndPredicates(predicates...))
}

// Or groups predicates with the OR operator between them.
func Or(predicates ...predicate.Weather) predicate.Weather {
	return predicate.Weather(sql.OrPredicates(predicates...))
}

// Not applies the not operator on the given predicate.
func Not(p predicate.Weather) predicate.Weather {
	return predicate.Weather(sql.NotPredicates(p))
}
